/* model */
import { 
  BusinessLicenseTypeEnum, 
  QualificationStateEnum,
  CreateQualificationRequestKeysEnum
} from '@src/modules/setting/messageChannel/components/qualification/model/enum'

// 营业证件附件对象
interface QualificationAttachment {
  id: string;
  ossUrl: string;
  fileName: string;
  fileSizeStr: string;
  size: number;
}

// 保存资质认证数据入参
interface SaveQualificationRequest {
  // 营业执照类型
  [CreateQualificationRequestKeysEnum.BusinessLicenseType]: BusinessLicenseTypeEnum;
  // 营业执照附件id
  [CreateQualificationRequestKeysEnum.BusinessLicenseAttachment]: string;
  // 营业执照名称
  [CreateQualificationRequestKeysEnum.BusinessLicenseName]: string;
  // 社会信用代码
  [CreateQualificationRequestKeysEnum.SocialCreditCode]: string;
  // 有效开始时间
  [CreateQualificationRequestKeysEnum.EffectiveStartTime]: string;
  // 有效结束时间
  [CreateQualificationRequestKeysEnum.EffectiveEndTime]: string;
  // 法人姓名
  [CreateQualificationRequestKeysEnum.LegalPerson]: string;
  // 证件类型
  [CreateQualificationRequestKeysEnum.DocumentType]: number;
  // 身份证人面像附件id
  [CreateQualificationRequestKeysEnum.IdentityDocumentPositive]: string;
  // 身份证国徽面附件id
  [CreateQualificationRequestKeysEnum.IdentityDocumentReverse]: string;
  // 经办人姓名
  [CreateQualificationRequestKeysEnum.OperatorName]: string;
  // 经办人身份证号码
  [CreateQualificationRequestKeysEnum.OperatorIdCard]: string;
  // 经办人手机号
  [CreateQualificationRequestKeysEnum.OperatorPhone]: string;
  // 责任人证件类型
  [CreateQualificationRequestKeysEnum.PersonLiableDocumentType]: number;
  // 负责人-身份证人面像附件id
  [CreateQualificationRequestKeysEnum.ExecutorPositive]: string;
  // 负责人-身份证国徽面附件id
  [CreateQualificationRequestKeysEnum.ExecutorReverse]: string;
  // 责任人名称
  [CreateQualificationRequestKeysEnum.ExecutorName]: string;
  // 责任人身份证号码
  [CreateQualificationRequestKeysEnum.ExecutorIdCard]: string;
  // 责任人手机号
  [CreateQualificationRequestKeysEnum.ExecutorPhone]: string;
  // 其他材料附件id集合
  [CreateQualificationRequestKeysEnum.OtherMaterial]: string[];
  // 创建人id
  [CreateQualificationRequestKeysEnum.CreateUserId]: string;
  // 更新人id
  [CreateQualificationRequestKeysEnum.UpdateUserId]: string;
  // 创建时间
  [CreateQualificationRequestKeysEnum.CreateTime]: string;
  // 更新时间
  [CreateQualificationRequestKeysEnum.UpdateTime]: string;
}

// 获取资质认证数据返回值
interface GetQualificationData {
  // 租户id 
  tenantId: string;
  // 营业证件类型
  businessLicenseType: BusinessLicenseTypeEnum;
  // 营业证件附件
  businessLicenseAttachment: QualificationAttachment;
  // 营业证件名称
  businessLicenseName: string;
  // 社会信用代码
  socialCreditCode: string;
  // 有效开始时间
  effectiveStartTime: string;
  // 有效结束时间
  effectiveEndTime: string;
  // 法人姓名
  legalPerson: string;
  // 证件类型
  documentType: string;
  // 身份证人面像附件
  identityDocumentPositive: QualificationAttachment;
  // 身份证国徽面附件
  identityDocumentReverse: QualificationAttachment;
  // 经办人姓名
  operatorName: string;
  // 经办人身份证号码
  operatorIdCard: string;
  // 经办人手机号
  operatorPhone: string;
  // 责任人证件类型
  personLiableDocumentType: string;
  // 负责人-身份证人面像附件
  executorPositive: QualificationAttachment;
  // 负责人-身份证国徽面附件
  executorReverse: QualificationAttachment;
  // 责任人名称
  executorName: string;
  // 责任人身份证号码
  executorIdCard: string;
  // 责任人手机号
  executorPhone: string;
  // 其他材料附件集合
  otherMaterial: QualificationAttachment[];
  // 创建人id
  createUserId: string;
  // 更新人id
  updateUserId: string;
  // 创建时间
  createTime: string;
  // 更新时间
  updateTime: string;
}

export {
  QualificationAttachment,
  SaveQualificationRequest,
  GetQualificationData
}
